// soore.js用来专门创建store实例对象
import { action, observable } from 'mobx-miniprogram'

export const store = observable({
  //orderDetail页面的订单id
  orderId:'',
  //更改orderDetail页面的订单id
  updateOrderId: action(function(data){
    this.orderId = data;
  }),
  //不同机型的可用高度
  sysHeight: 0,
  //更新机型的高度
  updateSysHeight: action(function(data){
    this.sysHeight = data
  }),
  //微信用户openid
  openId: "",
  //更新openId
  updateOpenId: action(function(data){
    this.openId = data;
  }),
  //页面跳转的索引
  activeTabBarIndex: 0,
  //更改页面跳转索引
  updateActiveTabBarIndex: action(function(index) {
    this.activeTabBarIndex = index;
  }),
  //dish页面详细数据
  dishData:{},
  //更新dishData数据
  updateDishData: action(function(data) {
    this.dishData = data;
  }),
  //meal页面详细是数据
  mealData:{},
  //更新mealData详细数据
  updateMealData: action(function(data) {
    this.mealData = data;
  }),
  // 删除数组中的指定数据，类似loadsh中的pull方法，pull(原数组，数组对应的数据)
  pull(array, ...values) {
    const result = []
    for (let index = 0; index < array.length; index++) {
        const item = array[index];
        if (values.indexOf(item) !== -1) { // 如果有
            // 删除item，删除后索引后会改变
            array.splice(index, 1)
            // 将item添加到result数组
            result.push(item)
            index-- // 如果不做, 下一个元素就没有得到遍历
        }
    }
    return result
  }
})